// 9. [计算]连续正整数之和 Consecutive Integer
// https://oj.rnd.huawei.com/problems/9/details
// 2005年的百度之星初赛有这么一道题，一个正整数有可能可以被表示为 m(m>1)
// 个连续正整数之和 15=1+2+3+4+5 15=4+5+6 15=7+8
// 但现在你的任务是判断给定的整数n能否表示成连续的m(m>1)个正整数之和。
//奇数必定是可以被两个数相加而得；
//所以如果一个偶数除以2为奇数的话，就能被四个连续数相加而得；
//所以如果一个偶数除以2再除以2为奇数的话，就能被八个连续数相加而得。。。
//因此发现规律，只要该数不是2的幂就能被连续数相加而得，于是该题就变成找到2的幂。
#include <algorithm>
#include <iostream>
#include <map>
#include <string>
#include <utility>
#include <vector>
using namespace std;
int main() {
  int N;
  cin >> N;
  while (1) {
    if ((N % 2) == 0) {
      N = N / 2;
    } else {
      break;
    }
  }
  if ((N == 1) || (N == 2)) {
    cout << "NO";
  } else {
    cout << "YES";
  }
}